Virtually any network communication system must deal with contention or possibly congestion of data traffic. For example, local area networks (LANs) that utilize point-of-traffic concentration may experience contention and congestion when receiving data from multiple sources (i.e., ingress sources) attempting to be transmitted (i.e., egress) through a single port or over a single line. Each line has bandwidth limitations on the amount of throughput that it can handle. Much of the data may be time-sensitive such that the data may have hard real-time or near real-time deadlines. That is, the data becomes old and unuseable in a matter of just 10's to 1000's of microseconds. Additionally, any network supporting connectionless message routing must account for autonomous removal of messages that erroneously do not have a destination (e.g., messages indefinitely circulating the network).
As a further example, some cellular systems utilize common base transceiver station platforms (CBTSP) to handle user-plane traffic (i.e., voice transmissions, video transmissions, near real-time data transfers, non-real-time data transfers, etc.) for transmission through backhaul interfaces. These CBTSPs are generally closed LANs. Since much of this user-plane traffic is real-time data, it becomes useless if it is not delivered within just a matter of microseconds. Therefore, if the user-plane traffic encounters congestion or contention with other data, it may become useless.
User-plane traffic may be received concurrently from multiple sources, such as mobile stations. Internet Protocol (IP) datagrams are used within the CBTSP to transport the user-plane traffic. Generally, Internet Protocol version 4 (IPv4) datagrams are used. This protocol is used for inter-network datagram routing, maximum transmission unit (MTU) fragmentation support, and datagram aging. In short, the IPv4 datagram is used to indicate the destination node and carry the data from the source to the destination. While IPv4 is being phased out of Internet communications in favor of IPv6 due to addressing limitations, it remains sufficient for addressing nodes within a closed LAN.
The CBTSP further utilizes a concentrator hub (i.e., switch) to receive the user-plane traffic from multiple points of ingress and consolidate the user-plane traffic at a single point in the LAN for conversion and transport over a backhaul interface. The connections within the internal LAN may be on the order of 100 megabits per second (Mbps), whereas the connection to the backhaul may be only 1½-2 Mbps. Thus, not only is the data being transmitted through fewer points of egress as compared to the number of point of ingress, there are increased bandwidth limitations at the points of egress.
While the common BTS platform performs data compression techniques to accommodate the backhaul interface and the bandwidth limitations, congestion and contention may still occur at the points of egress thereby acting as a point-of-traffic concentration. Furthermore, because this system is used to transport real-time or near real-time user-plane traffic, the network is quite sensitive to transmission delays. In fact, datagrams older than one air-frame time (e.g., 10 msec) are typically useless. Therefore, the congestion management solution must address datagram aging in the resolution of sub-milliseconds.
The conventional approaches to the congestion management and aging problems include: 1) manage congestion and contention reactively by overflowing the data queues at the point-of-traffic concentration and discarding datagrams, 2) autonomously remove datagrams through an aging algorithm using an 8-bit Time-To-Live (TTL) field inherent in the IP datagram header, and 3) increasing the buffer memory at point-of-traffic concentrations and/or increasing the number of connections with the backhaul. The first approach is a reactive process of discarding datagrams due to queue overflow. Resource reservation protocols, such as RSVP, are used to reserve certain quantities of resources to avoid congestion. These protocols could be used to reserve memory/buffer requirements to insure that congestion is avoided. However, this increases the complexity of the protocol used to carry high volume user-plane traffic. Moreover, the datagrams are discarded without regard to their validity, such that datagrams that are still useful are discarded and other datagrams that may be useless could be left in the queue.
Using the second approach, the TTL field specifies the time, in integral number of seconds, that the datagram can live in the network. As it is difficult to measure time relative to the datagram's time of entry into a distributed network, this TTL interpretation is often simplified to a hop-count where each hop from node to node is assumed to take 1 second. An algorithm reads the TTL field to determine how long the datagram has been in the network. By default, the TTL field allows a datagram to remain in the network for up to 255 seconds or 255 hop-counts. The disadvantages of using the TTL field are: 1) the resolution is only in seconds, since the IPv4 standard was not initially intended to deliver real-time data, 2) precision is accurate only to the processing delay of each hop, and 3) synchronization throughout the network to the datagram's time-of-entry is not achieved which is generally required for monitoring the age of the datagram within the LAN. As mentioned, user-plane traffic includes real-time or near real-time data that can become useless in just a matter of microseconds. Therefore, the typical TTL field, which is not even accurate to 1 second, cannot be used.
The third approach provides the easiest work-around solution to congestion avoidance by increasing memory and/or increasing the number of connections to the backhaul in order to increase the bandwidth. However, this is costly to implement, it does not account for microsecond time resolution, and the TTL field is still used as the aging mechanism. It also does not address time synchronization between distributed nodes. Furthermore, many systems incur a per-connection cost on the number of connections to the backhaul.
Thus there is a need for a method and apparatus that efficiently manages congestion and contention in a network carrying time-sensitive data with microsecond resolution. There is also a need for a method and apparatus that intelligently discards old data while continuing to minimize buffer size and the number of backhaul connections in order to minimize costs.